home *** CD-ROM | disk | FTP | other *** search
Modula Implementation | 1997-10-26 | 5.0 KB | 136 lines |
- (*----------------------------------------------------------------------*
- * *
- * MAGICTOOLS Modula's All purpose GEM Interface Cadre Toolbox *
- * ÿ ÿ ÿ ÿ ÿ *
- *----------------------------------------------------------------------*
- * Version 3.30 02.02.1992 (C)90/91/92 by Peter Hellinger Software *
- *----------------------------------------------------------------------*
- * Dieses Modul ist urheberrechtlich geschtzt. *
- * *
- * Die Verffentlichung des Quelltextes oder Teilen daraus, sowie die *
- * Verbreitung des bersetzten, nicht gelinkten Codes in schriftlicher, *
- * oder maschinenlesbarer Form, insbesondere in Zeitschriften, Mail- *
- * boxen oder anderen Medien bedarf der ausdrcklichen schriftlichen *
- * Einverstndnisserklrung des Autors. *
- * *
- * Die Verbreitung des Moduls als Teil eines gelinkten Programms ist *
- * fr Lizenznehmer ausdrcklich erlaubt! Der Autor behlt sich das *
- * Recht vor, diese Erlaubnis jederzeit und ohne Angaben von Grnden zu *
- * widerrufen. *
- *----------------------------------------------------------------------*)
-
- IMPLEMENTATION MODULE mtAESMenus;
-
- (*----------------------------------------------------------------------*
- * Int. Vers | Datum | Name | nderung *
- *-----------+----------+------+----------------------------------------*
- * 1.00 | 09.02.92 | Hp | *
- *-----------+----------+------+----------------------------------------*)
-
-
-
- (* IMPLEMENTATION FR >>> Megamax-Modula-2 <<< *)
- (* *)
- (*$R- Range-Checks *)
- (*$S- Stack-Check *)
- (* *)
- (*----------------------------------------------*)
-
-
-
-
-
-
- FROM MagicSys IMPORT Nil, Null, Bit0, Bit1, Bit2, Bit3, Bit4, Bit5, Bit6,
- Bit7, Bit8, Bit9, Bit10, Bit11, Bit12, Bit13, Bit14,
- Bit15, LOC, Byte, ByteSet, sWORD, sINTEGER, sCARDINAL,
- sBITSET, lINTEGER, lCARDINAL, lWORD, lBITSET,
- CastToChar, CastToByte, CastToByteset, CastToInt,
- CastToCard, CastToBitset, CastToWord, CastToLInt,
- CastToLCard, CastToLBitset, CastToLWord, CastToAddr,
- TosVersion, Accessory, Basepage, SysHeader, TosDate;
-
-
-
-
-
-
- FROM SYSTEM IMPORT ADDRESS, ADR, TSIZE;
- FROM MagicAES IMPORT LASTOB, DISABLED, OBJECT, PtrPARMBLK;
- FROM mtAppl IMPORT PrivateWS, MouseOn, MouseOff, MouseArrow,
- CharWidth, CharHeight, BoxWidth, BoxHeight,
- InstallTermproc;
- FROM mtUtils IMPORT tRect, tObjcTree, ScanFlags, SearchType, ObjcString;
- IMPORT MagicAES, MagicVDI, mtXobjects;
-
- VAR menuline: ADDRESS;
-
-
- PROCEDURE DrawLine (p: PtrPARMBLK): BITSET;
- (* Zeichnet eine Linie *)
- VAR i: INTEGER;
- BEGIN
- i:= MagicVDI.SetFillcolor (PrivateWS, 1);
- i:= MagicVDI.SetFillstyle (PrivateWS, 4);
- i:= MagicVDI.SetFillinterior (PrivateWS, 2);
- MagicVDI.VDIPtsIn[0]:= p^.pbX;
- MagicVDI.VDIPtsIn[1]:= p^.pbY + (CharHeight DIV 2) - 1;
- MagicVDI.VDIPtsIn[2]:= p^.pbX + p^.pbW - 1;
- MagicVDI.VDIPtsIn[3]:= p^.pbY + (CharHeight DIV 2);
- MagicVDI.VDICall(11, 2, 0, 1, PrivateWS);
- i:= MagicVDI.SetFillinterior (PrivateWS, 1);
- i:= MagicVDI.SetFillstyle (PrivateWS, 0);
- i:= MagicVDI.SetFillcolor (PrivateWS, 0);
- RETURN {};
- END DrawLine;
-
-
- PROCEDURE InitMenuline (menu: ADDRESS): BOOLEAN;
- VAR line: tObjcTree;
- str: ARRAY [0..80] OF CHAR;
- i: sINTEGER;
- b: BOOLEAN;
- BEGIN
-
- (* Baum scannen und Extended Objects installieren *)
- i:= 0; line:= menu;
- LOOP
- str[0]:= 0C; str[1]:= 0C; str[2]:= 0C;
- IF DISABLED IN line^[i].obState THEN
- ObjcString (line, i, str);
- IF (str[0] = '-') AND (str[1] = '-') AND (str[2] = '-') THEN
- (* Dat mte eine '-----'-Zeile sein, denn 'normale' Eintrge sollten
- * in den ersten Zeichen Blanks haben
- *)
- IF NOT mtXobjects.InstUserdef (line, i, DrawLine, NIL) THEN
- RETURN FALSE;
- END; (* IF NOT *)
- END; (* IF str *)
- ELSIF LASTOB IN line^[i].obFlags THEN (* Fertisch!! *)
- EXIT;
- END; (* IF DISABLED *)
- INC (i);
- END; (* LOOP *)
-
- RETURN TRUE;
- END InitMenuline;
-
- PROCEDURE DrawMenuline (menu: ADDRESS);
- VAR i : INTEGER;
- BEGIN
- menuline:= menu;
- i := MagicAES.MenuBar (menu, 1);
- END DrawMenuline;
-
- PROCEDURE ResetMenuline;
- VAR i : INTEGER;
- BEGIN
- i := MagicAES.MenuBar (menuline, 0);
- END ResetMenuline;
-
- BEGIN
- menuline:= NIL;
- InstallTermproc (ResetMenuline);
- END mtAESMenus.
-
-